ASCII art is a graphic design technique that uses computers for presentation and consists of pictures pieced together from the 95 printable (from a total of 128) characters defined by the ASCII Standard from 1963 and ASCII compliant character sets with proprietary extended characters (beyond the 128 characters of standard 7-bit ASCII). The term is also loosely used to refer to text based visual art in general. ASCII art can be created with any text editor, and is often used with free-form languages. Most examples of ASCII art require a fixed-width font (non-proportional fonts, as on a traditional typewriter) such as Courier for presentation.
Among the oldest known examples of ASCII art are the creations by computer-art pioneer Kenneth Knowlton from around 1966, who was working for Bell Labs at the time.[1] "Studies in Perception I" by Ken Knowlton and Leon Harmon from 1966 shows some examples of their early ASCII art.[2]
One of the main reasons ASCII art was born was because early printers often lacked graphics ability and thus characters were used in place of graphic marks. Also, to mark divisions between different print jobs from different users, bulk printers often used ASCII art to print large banners, making the division easier to spot so that the results could be more easily separated by a computer operator or clerk. ASCII art was also used in early e-mail when images could not be embedded.
The ASCII art phenomenon continues to exist in the social and mobile web, even when constrained to only 140 unicode characters, as exhibited by Twitter channels such as @TW1TT3Rart and many others, tagged as #TwitterArt and #140art.[3]
Since 1867 typewriters have been used for creating visual art. The oldest known preserved example of typewriter art is a picture of a butterfly made in 1898 by Flora Stacey.[4][5] Typewriter art was also called keyboard art[6]. In the 1954 short film Stamp Day for Superman, typewriter art was a feature of the plot.
TTY stands for "TeleTYpe" or "TeleTYpewriter" and is also known as Teleprinter or Teletype. RTTY stands for Radioteletype; character sets such as Baudot code, which predated ASCII, were used. According to a chapter in the "RTTY Handbook",[7] text images have been sent via teletypewriter as early as 1923. However, none of the "old" RTTY art has been discovered yet. What is known is that text images appeared frequently on radioteletype in the 1960s and the 1970s.[8][9]
The widespread usage of ASCII art can be traced to the computer bulletin board systems of the late 1970s and early 1980s. The limitations of computers of that time period necessitated the use of text characters to represent images. Along with ASCII's use in communication, however, it also began to appear in the underground online art groups of the period. An ASCII comic is a form of webcomic which uses ASCII text to create images. In place of images in a regular comic, ASCII art is used, with the text or dialog usually placed underneath.
During the 1990s, graphical browsing and variable-width fonts became increasingly popular, leading to a decline in ASCII art. Despite this, ASCII art continued to survive through online MUDs, an acronym for "Multi-User Dungeon", (which are textual multiplayer role-playing video games), Internet Relay Chat, E-mail, message boards and other forms of online communication which commonly employ the needed fixed-width.
Over the years, warez groups began to get into the ASCII art scene.[10] Warez groups usually release .nfo files with their software, cracks or general illegal software reverse-engineering releases.[11] The ASCII art will usually include the warez group's name and maybe some ASCII borders on the outsides of the release notes, etc.[12]
ASCII art is used wherever text can be more readily printed or transmitted than graphics, or in some cases, where the transmission of pictures is not possible. This includes typewriters, teleprinters, non-graphic computer terminals, printer separators, in early computer networking (e.g., BBSes), e-mail, and Usenet news messages. ASCII art is also used within the source code of computer programs for representation of company or product logos, and flow control or other diagrams. In some cases, the entire source code of a program is a piece of ASCII art — for instance, an entry to one of the earlier International Obfuscated C Code Contest is a program that adds numbers, but visually looks like a binary adder drawn in logic ports.
Examples of ASCII-style art predating the modern computer era can be found in the June 1939, July 1948 and October 1948 editions of Popular Mechanics.[13]
"0verkill" is a 2D platform multiplayer shooter game designed entirely in colour ASCII art. MPlayer and VLC media player can display videos as ASCII art. ASCII art is used in the making of DOS-based ZZT games.
Many game walkthrough guides come as part of a basic .txt file; this file often contains the name of the game in ASCII art. Such as below, word art is created using backslashes and other ASCII values in order to create the illusion of 3D.
Different techniques could be used in ASCII art to obtain different artistic effects:
.--. /\ '--' /__\ (^._.^)~
- Line art, for creating shapes
.g@8g. db 'Y8@P' d88b
- Solid art, for creating filled shapes
:$#$: "4b. ':. :$#$: "4b. ':.
- Shading, using different symbol density and shading for creating gradients or contrasts
|\_/| **************************** / @ @ \ * "Purrrfectly pleasant" * ( > º < ) * Poppy Prinz * `»»x««´ * (pprinz@...) * / O \ ****************************
- combinations used as SIG (signature) at the end of an email
The simplest forms of ASCII art are combinations of two or three characters for expressing emotion in text. They are commonly referred to as 'emoticon', 'smilie', or 'smiley'.
There is another type of one-line ASCII art that does not require the mental rotation of pictures, which is widely known in Japan as kaomoji (literally "face characters".) Traditionally, they are referred to as "ASCII face ".
More complex examples use several lines of text to draw large symbols or more complex figures.
The list only shows some popular examples for demonstration purposes. Hundreds of different text smileys were developed over time,[14] but only a few were generally accepted, used and understood.
Icon | Meaning | Icon | Meaning |
---|---|---|---|
:) or :] or (: or [: or =) or =] or (",) or ^^ or C: or :3 or n_n |
classic smile | ;| or ;) or ;D or ^.~ |
winking |
:( or :C or =( |
classic sad | :-o |
yawn or surprised |
:-) |
smile | XD or xD |
Laughter |
>=D |
evil laugh | ||
>=) |
evil grin | :o or O_o or O.o or O.O or ._. |
surprised |
:B |
buck-tooth | :'{ or :,( or :*( or :'( or :_( or ='( or =,( |
crying smiley |
:-# |
with braces or sick smiley | T_T or TT_TT or QQ or Q_Q or ;_; or ;-; or ;A; or T.T |
crying |
:P or :p or xp or xP or XP or c(: or :þ |
tongue sticking out (silly) | D:< or ]:< or >:[ or ):< or >:( |
angry |
:/ or :\ or :| or D: |
indifferent; worried, amazed | :0 |
gasp, surprised, astonished |
8D or BD or 8) or B-) |
smiley with glasses | -_- or -.- or = ^ = or >.< |
annoyed, really? not surprised, serious. |
;) or ;] or (; or [; |
winking smile | :D |
huge grin, very happy |
xD or XD |
laughing | ||
¬_¬ or -.- or -.-' or -_- or -_-' or = _ =' or m( | Annoyed, Sweat-drop, not surprised, Facepalm | ಠ_ಠ | A look of disapproval or disbelief |
%-) |
Crazy | ||
0=) or 0:) |
Angel | ||
:S |
Confused | ||
t(-.-t) or t(o.ot) |
Giving you the finger |
An ASCII comic is a form of webcomic.
ASCII Art Farts is a web comic consisting of selected or original ASCII art with an added caption, often offensive. The first "fart", as individual comics are called, is dated June 25, 1999[15] and new comics have been published daily since. The comics are credited to "tQn" (TRAN Q. NGUYEN).[16]
The Adventures of Nerd Boy, or just Nerd Boy is an ASCII comic by Joaquim Gândara between August 6, 2001 and July 17, 2007, consisting of 600 strips. They were posted to ASCII art newsgroup alt.ascii-art and on the website.[17] Some strips have been translated to Polish[18][19] and French.
The Atari 400/800 did not follow the ASCII standard and had its own character set, called ATASCII.[20][21] The emergence of ATASCII art coincided with the growing popularity of BBS Systems caused by availability of the acoustic couplers that were compatible with the 8-bit home computers. ATASCII text animations are also referred to as "break animations" by the Atari sceners.
The Commodore 64, which was released in 1982, also did not follow the ASCII standard. The C-64 character set is called PETSCII, an extended form of ASCII-1963. As with the Atari's ATASCII art, C-64 fans developed a similar scene that used PETSCII for their creations.
So-called "block ASCII" or "high ASCII" uses the extended characters of the 8-bit code page 437, which is a proprietary standard introduced by IBM in 1979 (ANSI Standard x3.16) for the IBM PC and MS DOS operating system. "Block ASCIIs" were widely used on the PC during the 1990s until the Internet replaced BBSes as the main communication platform. Until then, "block ASCIIs" dominated the PC Text Art Scene.[22][23]
The first art scene group that focused on the extended character set of the PC in their art work was called "Aces of ANSI Art," or "AAA." Some members of left in 1990, and formed a group called ACiD, "ANSI Creators in Demand." In that same year the second major underground art scene group was founded, ICE, "Insane Creators Enterprise".[24]
There is some debate between ASCII and block ASCII artist, with "Hardcore" ASCII artists maintaining that block ASCII art is in fact not ANSI art, because it does not use the 128 characters of the original ASCII standard. On the other hand, block ASCII artists argue that if their art uses only characters of the computers character set, then it is to be called ASCII, regardless if the character set is proprietary or not.
Microsoft Windows does not support the ANSI Standard x3.16. One can view block ASCIIs with a text editor using the font "Terminal", but it will not look exactly as it was intended by the artist. With a special ASCII/ANSI viewer, such as ACiDView for Windows (see ASCII and ANSI art viewers), one can see block ASCII and ANSI files properly. An example that illustrates the difference in appearance is part of this article. Alternatively, one could look at the file using the Type command in the command prompt.
In the art scene one popular ASCII style that used the 7-bit standard ASCII character set was the so called "Oldskool" Style. It is also called "Amiga style", due to its origin and widespread use on the Commodore Amiga Computers. The style uses primarily the characters: _/\-+=.()<>:. The "oldskool" art looks more like the outlined drawings of shapes than real pictures. This is an example of "Amiga style" (also referred to as "old school" or "oldskool" style) scene ASCII art.[22]
The Amiga ASCII Scene surfaced in 1992, 7 years after the introduction of the Commodore Amiga 1000. The Commodore 64 PETSCII scene did not make the transition to the Commodore Amiga as the C64 demo and warez scenes did. Among the first Amiga ASCII art groups were ART, Epsilon Design, Upper Class, Unreal. This means that the text art scene on the Amiga was actually younger than the text art scene on the PC. The Amiga artists also did not call their ASCII art style "Oldskool". That term was introduced on the PC. When and by whom is unknown and lost in history.
The Amiga style ASCII artwork was most often released in the form of a single text file, which included all the artwork (usually requested), with some design parts in between, as opposed to the PC art scene where the art work was released as a ZIP archive with separate text files for each piece. Furthermore, the releases were usually called "ASCII collections" and not "art packs" like on the IBM PC.
_____ ___ ____ _ _ | ___|_ _/ ___| | ___| |_ | |_ | | | _| |/ _ \ __| | _| | | |_| | | __/ |_ |_| |___\____|_|\___|\__|
This kind of ASCII art is hand made in a text editor. Popular editors used to make this kind of ASCII art include CygnusEditor aka CED (Amiga) and EditPlus2 (PC).
Oldskool font example from the PC, which was taken from the ASCII Editor FIGlet.
"Newskool" is a popular form of ASCII art which capitalizes on character strings like "$#Xxo". In spite of its name, the style is not "new"; on the contrary, it was very old but fell out of favor and was replaced by "Oldskool" and "Block" style ASCII art. It was dubbed "Newskool" upon its comeback and renewed popularity at the end of the 1990s.[22]
Newskool changed significantly as the result of the introduction of extended proprietary characters. The classic 7-bit standard ASCII characters remain predominant, but the extended characters are often used for "fine tuning" and "tweaking". The style developed further after the introduction and adaptation of Unicode.
While some prefer to use a simple text editor to produce ASCII art, specialized programs have been developed that often simulate the features and tools in bitmap image editors. For Block ASCII art and ANSI art the artist almost always uses a special text editor, because the required characters are not available on a standard keyboard.
The special text editors have sets of special characters assigned to existing keys on the keyboard. Popular MS DOS based editors, such as TheDraw and ACiDDraw had multiple sets of different special characters mapped to the F-Keys to make the use of those characters easier for the artist who can switch between individual sets of characters via basic keyboard shortcuts. PabloDraw is one of the very few special ASCII/ANSI art editors that were developed for MS Windows XP.
Other programs allow one to automatically convert an image to text characters, which is a special case of vector quantization. A method is to sample the image down to grayscale with less than 8-bit precision, and then assign a character for each value.
Examples of converted images are given below.
This is one of the earliest forms of ASCII art, dating back to the early days of the 1960s minicomputers and teletypes. During the 1970s it was popular in malls to get a t-shirt with a photograph printed in ASCII art on it from an automated kiosk manned by a computer. With the advent of the web and HTML and CSS, many ASCII conversion programs will now quantize to a full RGB colorspace, enabling colorized ASCII images.
Since the appearance of the first simple converter tools, individuals have converted images to ASCII art automatically and afterwards claimed that they generated the result themselves "by hand" via a text editor.
Images that were converted to text, where no touch up work was done after the conversion, can in almost every case be identified as such, at least by an experienced text artist. The detection of converted, software-generated text art becomes much more difficult if some time was spent by the editor to touch up the details that are typical indicators of auto-generation. The inconsistencies in "shading" in just one art piece are often what gives the software-created status away.
Still images or movies can also be converted to ASCII on various Linux and UNIX computers using the aalib (black and white) or libcaca (colour) graphics device driver, or the VLC media player under Windows; all of which render the screen using ASCII symbols instead of pixels. See also O'Reilly article "Watch Videos in ASCII art".
Most ASCII art is created using a monospace font, where all characters are identical in width (Courier is a popular monospace font). Early computers in use when ASCII art came into vogue had monospace fonts for screen and printer displays. Today most of the more commonly used fonts in word processors, web browsers and other programs are proportional fonts, such as Helvetica or Times Roman, where different widths are used for different characters. ASCII art drawn for a fixed width font will usually appear distorted, or even unrecognizable when displayed in a proportional font.
Some ASCII artists have produced art for display in proportional fonts. These ASCIIs, rather than using a purely shade-based correspondence, use characters for slopes and borders and use block shading. These ASCIIs generally offer greater precision and attention to detail than fixed-width ASCIIs for a lower character count, although they are not as universally accessible since they are usually relatively font-specific.
Animated ASCII art started in 1970 from so-called VT100 animations produced on vt100 terminals. These animations were simply text with cursor movement instructions, deleting and erasing the characters necessary to appear animated. Usually, they represented a long hand-crafted process undertaken by a single person to tell a story.
Contemporary web browser revitalized animated ASCII art again. It became possible to display animated ASCII art via JavaScript or Java applets. Static ASCII art pictures are loaded and displayed one after another, creating the animation, very similar to how movie projectors unreel film reel and project the individual pictures on the big screen at movie theaters. A new term was born: ASCIImation - another name of Animated ASCII Art. A seminal work in this arena is the Star Wars ASCIImation.[25] More complicated routines in JavaScript generate more elaborate ASCIImations showing effects like Morphing effects, star field emulations, fading effects and calculated images, such as mandelbrot fractal animations.[26][27]
There are now many tools and programs that can transform raster images into text symbols; some of these tools can operate on streaming video. For example, the music video for pop singer Beck Hansen's song "Black Tambourine"[28] is made up entirely of ASCII characters that approximate the original footage.
There are a variety of other types of art using text symbols from character sets other than ASCII and/or some form of color coding. Despite not being pure ASCII, these are still often referred to as "ASCII art". The character set portion designed specifically for drawing is known as the line drawing characters or pseudo-graphics.
The IBM PC graphics hardware in text mode uses 16 bits per character. It supports a variety of configurations, but in its default mode under DOS they are used to give 256 glyphs from one of the IBM PC code pages (Code page 437 by default), 16 foreground colors, 8 background colors, and a flash option. Such art can be loaded into screen memory directly. ANSI.SYS, if loaded, also allows such art to be placed on screen by outputting escape sequences that indicate movements of the screen cursor and color/flash changes. If this method is used then the art becomes known as ANSI art. The IBM PC code pages also include characters intended for simple drawing which often made this art appear much cleaner than that made with more traditional character sets. Plain text files are also seen with these characters, though they have become far less common since Windows GUI text editors (using the Windows ANSI code page) have largely replaced DOS based ones.
A large character selection and the availability of fixed-width characters allow Japanese users to use Shift JIS as a text-based art on Japanese websites.
Unicode would seem to offer the ultimate flexibility in producing text based art with its huge variety of characters. However, finding a suitable fixed-width font is likely to be difficult if a significant subset of Unicode is desired. (Modern UNIX-style operating systems do provide complete fixed-width Unicode fonts, e.g. for xterm. Windows has the Courier New font which includes characters like ┌╥─╨┐♥☺♫Ƹ̵̡Ӝ̵̨̄Ʒ) Also, the common practice of rendering Unicode with a mixture of variable width fonts is likely to make predictable display hard if more than a tiny subset of Unicode is used.
In the 1970s and early 1980s it was popular to produce a kind of text art that relied on overprinting — the overall darkness of a particular character space dependent on how many characters, as well as the choice of character, printed in a particular place. Thanks to the increased granularity of tone, photographs were often converted to this type of printout. Even manual typewriters or daisy wheel printers could be used. The technique has fallen from popularity since all cheap printers can easily print photographs, and a normal text file (or an e-mail message or Usenet posting) cannot represent overprinted text. However, something similar has emerged to replace it: shaded or colored ASCII art, using ANSI video terminal markup or color codes (such as those found in HTML, IRC, and many internet message boards) to add a bit more tone variation. In this way, it is possible to create ASCII art where the characters only differ in color.